package com.tencent.wxpay.businessListener;

/**
 * 基本的结果监听器.
 */
public interface BaseResultListener<T> {
    /**
     * API返回ReturnCode不合法，(与服务器通信失败)，请求逻辑错误，请仔细检测传过去的每一个参数是否合法，或是看API能否被正常访问
     * @param resData API返回数据
     */
    void onFailByReturnCodeError(T resData);

    /**
     * API返回ReturnCode为FAIL，可能签名失败，或参数格式校验错误，请仔细检测Post给API的数据是否规范合法
     * @param resData API返回数据
     */
    void onFailByReturnCodeFail(T resData);

    /**
     * API返回的数据签名验证失败，有可能数据被篡改了！
     * @param resData API返回数据
     */
    void onFailBySignInvalid(T resData);

    /**
     * 调用失败，(业务层面执行失败)详见数据内错误码和错误提示
     * @param resData API返回数据
     */
    void onFail(T resData);

    /**
     * 调用成功
     * @param resData
     */
    void onSuccess(T resData);
}
